/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Einheiten.Attribute;

import Einheiten.Attribute.Typen.Angriffstyp;
import Einheiten.Attribute.Typen.Verteidigungstyp;
import Einheiten.Attribute.Typen.Waffentyp;
import Einheiten.Attribute.Typen.Zieltypen;
import Schnittstellen.Graphisches.Modelle.Modell;
import Schnittstellen.Audio.Sound;

/**
 *
 * @author Geez
 */
public class Kampf implements EditorAttribut{

    protected int abklingzeit;
    protected Angriffstyp angriffstyp;
    protected int basisSchaden;
    protected double geschossBogen;
    protected Modell geschossGrafik;
    protected Modell zielGrafik;
    protected int geschossTempo;
    protected int maxAnzahlZiele;
    protected int reichweite;
    protected int minreichweite;
    protected int reichweitenBewegungsPuffer;
    protected int schadenWuerfelSeiten;
    protected int schadenWuerfelAnzahl;
    protected int schadenWirkungsbereich;
    protected int schadenStreuradius;
    protected double schadenVerlustfaktor;
    protected Sound waffensound;
    protected Waffentyp waffentyp;
    protected Zieltypen[] zielWirkungsbereich;
    protected boolean zielsuchendesGeschoss;
    protected Zieltypen[] zugelasseneZiele;
    protected int basisVerteidigung;
    protected Verteidigungstyp verteidigungstyp;
    protected int zielerfassungsReichweite;
    protected Zieltypen[] zieltyp;

    public Kampf() {
    }

    public Zieltypen[] getZieltyp() {
        return zieltyp;
    }

    public void setZieltyp(Zieltypen[] zieltyp) {
        this.zieltyp = zieltyp;
    }

    public int getAbklingzeit() {
        return abklingzeit;
    }

    public void setAbklingzeit(int abklingzeit) {
        this.abklingzeit = abklingzeit;
    }

    public Angriffstyp getAngriffstyp() {
        return angriffstyp;
    }

    public void setAngriffstyp(Angriffstyp angriffstyp) {
        this.angriffstyp = angriffstyp;
    }

    public int getBasisSchaden() {
        return basisSchaden;
    }

    public void setBasisSchaden(int basisSchaden) {
        this.basisSchaden = basisSchaden;
    }

    public int getBasisVerteidigung() {
        return basisVerteidigung;
    }

    public void setBasisVerteidigung(int basisVerteidigung) {
        this.basisVerteidigung = basisVerteidigung;
    }

    public double getGeschossBogen() {
        return geschossBogen;
    }

    public void setGeschossBogen(double geschossBogen) {
        this.geschossBogen = geschossBogen;
    }

    public Modell getGeschossGrafik() {
        return geschossGrafik;
    }

    public void setGeschossGrafik(Modell geschossGrafik) {
        this.geschossGrafik = geschossGrafik;
    }

    public int getGeschossTempo() {
        return geschossTempo;
    }

    public void setGeschossTempo(int geschossTempo) {
        this.geschossTempo = geschossTempo;
    }

    public int getMaxAnzahlZiele() {
        return maxAnzahlZiele;
    }

    public void setMaxAnzahlZiele(int maxAnzahlZiele) {
        this.maxAnzahlZiele = maxAnzahlZiele;
    }

    public int getMinreichweite() {
        return minreichweite;
    }

    public void setMinreichweite(int minreichweite) {
        this.minreichweite = minreichweite;
    }

    public int getReichweite() {
        return reichweite;
    }

    public void setReichweite(int reichweite) {
        this.reichweite = reichweite;
    }

    public int getReichweitenBewegungsPuffer() {
        return reichweitenBewegungsPuffer;
    }

    public void setReichweitenBewegungsPuffer(int reichweitenBewegungsPuffer) {
        this.reichweitenBewegungsPuffer = reichweitenBewegungsPuffer;
    }

    public int getSchadenStreuradius() {
        return schadenStreuradius;
    }

    public void setSchadenStreuradius(int schadenStreuradius) {
        this.schadenStreuradius = schadenStreuradius;
    }

    public double getSchadenVerlustfaktor() {
        return schadenVerlustfaktor;
    }

    public void setSchadenVerlustfaktor(double schadenVerlustfaktor) {
        this.schadenVerlustfaktor = schadenVerlustfaktor;
    }

    public int getSchadenWirkungsbereich() {
        return schadenWirkungsbereich;
    }

    public void setSchadenWirkungsbereich(int schadenWirkungsbereich) {
        this.schadenWirkungsbereich = schadenWirkungsbereich;
    }

    public int getSchadenWuerfelAnzahl() {
        return schadenWuerfelAnzahl;
    }

    public void setSchadenWuerfelAnzahl(int schadenWuerfelAnzahl) {
        this.schadenWuerfelAnzahl = schadenWuerfelAnzahl;
    }

    public int getSchadenWuerfelSeiten() {
        return schadenWuerfelSeiten;
    }

    public void setSchadenWuerfelSeiten(int schadenWuerfelSeiten) {
        this.schadenWuerfelSeiten = schadenWuerfelSeiten;
    }

    public Verteidigungstyp getVerteidigungstyp() {
        return verteidigungstyp;
    }

    public void setVerteidigungstyp(Verteidigungstyp verteidigungstyp) {
        this.verteidigungstyp = verteidigungstyp;
    }

    public Sound getWaffensound() {
        return waffensound;
    }

    public void setWaffensound(Sound waffensound) {
        this.waffensound = waffensound;
    }

    public Waffentyp getWaffentyp() {
        return waffentyp;
    }

    public void setWaffentyp(Waffentyp waffentyp) {
        this.waffentyp = waffentyp;
    }

    public Modell getZielGrafik() {
        return zielGrafik;
    }

    public void setZielGrafik(Modell zielGrafik) {
        this.zielGrafik = zielGrafik;
    }

    public Zieltypen[] getZielWirkungsbereich() {
        return zielWirkungsbereich;
    }

    public void setZielWirkungsbereich(Zieltypen[] zielWirkungsbereich) {
        this.zielWirkungsbereich = zielWirkungsbereich;
    }

    public int getZielerfassungsReichweite() {
        return zielerfassungsReichweite;
    }

    public void setZielerfassungsReichweite(int zielerfassungsReichweite) {
        this.zielerfassungsReichweite = zielerfassungsReichweite;
    }

    public boolean isZielsuchendesGeschoss() {
        return zielsuchendesGeschoss;
    }

    public void setZielsuchendesGeschoss(boolean zielsuchendesGeschoss) {
        this.zielsuchendesGeschoss = zielsuchendesGeschoss;
    }

    public Zieltypen[] getZugelasseneZiele() {
        return zugelasseneZiele;
    }

    public void setZugelasseneZiele(Zieltypen[] zugelasseneZiele) {
        this.zugelasseneZiele = zugelasseneZiele;
    }

    @Override
    public int getAttributTyp() {
        return TYP_KAMPF;
    }
}
